package main

import "fmt"

type People struct {
	Name string
}

type query func(string) string

func exec(name string, vs ...query) string {
	ch := make(chan string)
	fn := func(i int) {
		ch <- vs[i](name)
	}
	for i, _ := range vs {
		go fn(i)
	}
	return <-ch
}

func main() {
	ss := exec("a", func(s string) string {
		return s + "-fun1"
	}, func(s string) string {
		return s + "-fun2"
	}, func(s string) string {
		return s + "-fun3"
	})
	fmt.Println("sss:", ss)
}
func ff1() {
	mp := map[string]People{"man": {"mch"}}
	n := People{Name: "xxxx"}
	mp["man"] = n
	fmt.Println(mp)
}
